function cutRope(number)
{
    // write code here
    // dp[i] 当绳子长度为i的时候题目所要求的的最优的解法
    var dp = new Array(number+1).fill(0) // 初始化一下这个数组 要计算f(n) 先计算f(2) 根基f(2) 计算后面的 f(1)表示长度为1时剪短最大乘积
    for(let i = 2;i <= number;i++){ //从2开始到n 每个都有这个dp值
      for(let j = 1;j < i;j++){ // 每次剪j的长度下来 j的长度变化范围为 1 - i-1
        // 由此更新dp[i]  剪 那么他的最大乘积就是 j*dp[i-j] 不剪 最大乘积就是 j*(i-j)
        var max = j*dp[i-j] > j*(i-j) ? j*dp[i-j] :  j*(i-j); // 新的计算的时候新的值  这是求一个dp[i] 的可能的值 i可能=1,2,3
        dp[i] = dp[i] > max ? dp[i] : max // 这个是对dp[4] 不断进行更新 这个最大值 不断更新这个dp的值
      }
    }
    return dp[number]
}
module.exports = {
    cutRope : cutRope
};